on init
    make_perfview
    set_ui_height_px(250)
    set_control_par_str($INST_WALLPAPER_ID, $CONTROL_PAR_PICTURE, "Instrument-Background")
    set_control_par_str($INST_ICON_ID, $CONTROL_PAR_PICTURE, "Instrument-Icon")

    declare ui_slider $volume_slider_clean (0,1000000) 
    declare $volume_slider_clean_id := get_ui_id($volume_slider_clean)
    make_persistent( $volume_slider_clean )
    read_persistent_var( $volume_slider_clean )
    set_control_par_str($volume_slider_clean_id, $CONTROL_PAR_PICTURE, "Gold-Knob-54Animation")
    set_control_par($volume_slider_clean_id, $CONTROL_PAR_MOUSE_BEHAVIOUR, -1000)
    set_control_par($volume_slider_clean_id, $CONTROL_PAR_DEFAULT_VALUE, 700000)
    set_control_par($volume_slider_clean_id, $CONTROL_PAR_AUTOMATION_ID, 0)
    set_control_par_str($volume_slider_clean_id, $CONTROL_PAR_AUTOMATION_NAME, "Clean Volume")
    move_control_px($volume_slider_clean, 113, 170)

    declare ui_slider $volume_slider_bloom (0,1000000) 
    declare $volume_slider_bloom_id := get_ui_id($volume_slider_bloom)
    make_persistent( $volume_slider_bloom )
    read_persistent_var( $volume_slider_bloom )
    set_control_par_str($volume_slider_bloom_id, $CONTROL_PAR_PICTURE, "Gold-Knob-54Animation")
    set_control_par($volume_slider_bloom_id, $CONTROL_PAR_MOUSE_BEHAVIOUR, -1000)
    set_control_par($volume_slider_bloom_id, $CONTROL_PAR_DEFAULT_VALUE, 200000)
    set_control_par($volume_slider_bloom_id, $CONTROL_PAR_AUTOMATION_ID, 1)
    set_control_par_str($volume_slider_bloom_id, $CONTROL_PAR_AUTOMATION_NAME, "Bloom Volume")
    move_control_px($volume_slider_bloom, 298, 170)

    declare ui_slider $volume_slider_drone (0,1000000) 
    declare $volume_slider_drone_id := get_ui_id($volume_slider_drone)
    make_persistent( $volume_slider_drone )
    read_persistent_var( $volume_slider_drone )
    set_control_par_str($volume_slider_drone_id, $CONTROL_PAR_PICTURE, "Gold-Knob-54Animation")
    set_control_par($volume_slider_drone_id, $CONTROL_PAR_MOUSE_BEHAVIOUR, -1000)
    set_control_par($volume_slider_drone_id, $CONTROL_PAR_DEFAULT_VALUE, 100000)
    set_control_par($volume_slider_drone_id, $CONTROL_PAR_AUTOMATION_ID, 2)
    set_control_par_str($volume_slider_drone_id, $CONTROL_PAR_AUTOMATION_NAME, "Drone Volume")
    move_control_px($volume_slider_drone, 483, 170)
    
    declare %clean_groups[3]
        %clean_groups[0] := get_group_idx("CleanRR1")
        %clean_groups[1] := get_group_idx("CleanRR2")
        %clean_groups[2] := get_group_idx("CleanRR3")

    declare %bloom_groups[3]
        %bloom_groups[0] := get_group_idx("BloomRR1")
        %bloom_groups[1] := get_group_idx("BloomRR2")
        %bloom_groups[2] := get_group_idx("BloomRR3")

    declare $drone_group := 6
    $drone_group := get_group_idx("Drone")

    declare $cycle_count := 0

    declare $group_count := 0
end on

on note

    disallow_group($ALL_GROUPS)

    if ($cycle_count < 2)
        allow_group(%clean_groups[$cycle_count])
        allow_group(%bloom_groups[$cycle_count])
        allow_group($drone_group)
        $cycle_count := $cycle_count + 1
    else
        allow_group(%clean_groups[$cycle_count])
        allow_group(%bloom_groups[$cycle_count])
        allow_group($drone_group)
        $cycle_count := 0
    end if

    message( $cycle_count )
end on

on ui_control ($volume_slider_clean)

    $group_count := 0

    while ($group_count < 3)
        set_engine_par($ENGINE_PAR_VOLUME, $volume_slider_clean, %clean_groups[$group_count], -1, -1)
        $group_count := $group_count + 1
    end while

end on

on ui_control ($volume_slider_bloom)

    $group_count := 0

    while ($group_count < 3)
        set_engine_par($ENGINE_PAR_VOLUME, $volume_slider_bloom, %bloom_groups[$group_count], -1, -1)
        $group_count := $group_count + 1
    end while

end on

on ui_control ($volume_slider_drone)
    set_engine_par($ENGINE_PAR_VOLUME, $volume_slider_drone, $drone_group, -1, -1)
end on